const tool = {
    deepCopy(v) { // 深拷贝数组与对象
        return JSON.parse(JSON.stringify(v))
    },
	paramAddUidToken(param) {
	    let _param = param && this.deepCopy(param)
	    return {
	        uid: this.getStorageSync('uid'),
	        token: this.getStorageSync('token'),
	        ..._param
	    }
	},
    // getTopInfo: function() { // 获取状态栏及胶囊尺寸信息
    //     return new Promise(resolve => {
    //         const capsule = wx.getMenuButtonBoundingClientRect() // 胶囊信息
    //             // const that = this
    //         wx.getSystemInfo({ // 系统信息
    //             success: function(res) {
    //                 const result = {
    //                     capsule,
    //                     systemInfo: res, // 完整的系统信息
    //                     statusBarHeight: res.statusBarHeight, // 状态栏高度
    //                     topHeight: capsule.height + 2 * (capsule.top - res.statusBarHeight) // 顶部高度
    //                 }
    //                 resolve(result)
    //             }
    //         })
    //     })
    // },
    setStorageSync(key, value) {
        uni.setStorageSync(key, value)
    },
    getStorageSync(key) {
        return uni.getStorage(key)
    },
    
    /**
     * 坐标转换，百度地图坐标转换成腾讯地图坐标
     * lng 腾讯经度（pointy）
     * lat 腾讯纬度（pointx）
     * 经度>纬度
     */
    // bMapToQQMap(lng, lat) {
    //     if (lng == null || lng == '' || lat == null || lat == '')
    //         return [lng, lat];
    //     let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
    //     let x = lng - 0.0065;
    //     let y = lat - 0.006;
    //     let z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
    //     let theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
    //     let lngs = z * Math.cos(theta);
    //     let lats = z * Math.sin(theta);
    //     return [lngs, lats];
    // },
    // /**
    //  * 坐标转换，腾讯地图转换成百度地图坐标
    //  * lng 腾讯经度（pointy）
    //  * lat 腾讯纬度（pointx）
    //  * 经度>纬度
    //  */
    // qqMapToBMap(lng, lat) {
    //     if (lng == null || lng == '' || lat == null || lat == '')
    //         return [lng, lat];
    //     // let x_pi = 3.14159265358979324 * 3000.0 / 180.0;
    //     // let x = lng;
    //     // let y = lat;
    //     // let z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
    //     // let theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
    //     // let lngs = z * Math.cos(theta) + 0.0065;
    //     // let lats = z * Math.sin(theta) + 0.006;

    //     let res1 = transformFromWGSToGCJ(lat, lng)
    //     let res2 = transformFromGCJToBaidu(res1.latitude, res1.longitude)
    //     return [res2.longitude, res2.latitude];
    // },
    // chooseLocation(hasOpenCity) {
    //     return new Promise(resolve => {
    //         if (!hasOpenCity) {
    //             wx.showToast({
    //                 icon: 'none',
    //                 title: '暂无开通城市'
    //             })
    //             resolve({
    //                 code: 0,
    //                 data: res,
    //                 message: '暂无开通城市'
    //             })
    //         } else {
    //             wx.chooseLocation({
    //                 success: res => {
    //                     console.log('wx.chooseLocation', res)
    //                     let bmap = this.qqMapToBMap(res.longitude, res.latitude)
    //                     console.log('baidu.chooseLocation', bmap)

    //                     resolve({
    //                         code: 1,
    //                         data: {
    //                             ...res,
    //                             b_latitude: bmap[1], // 转换成百度的经度
    //                             b_longitude: bmap[0] // 转换成百度的纬度
    //                         },
    //                         message: '获取定位成功'
    //                     })
    //                 },
    //                 fail: res => {
    //                     resolve({
    //                         code: 0,
    //                         data: res,
    //                         message: '获取定位失败'
    //                     })
    //                 }
    //             })
    //         }
    //     })
    // },
    // getLocation() {
    //     return new Promise(resolve => {
    //         wx.getLocation({
    //             type: 'gcj02',
    //             success: res => {
    //                 console.log('wx.getLocation', res)
    //                 let bmap = this.qqMapToBMap(res.longitude, res.latitude)
    //                 resolve({
    //                     code: 1,
    //                     data: {
    //                         ...res,
    //                         b_latitude: bmap[1], // 转换成百度的经度
    //                         b_longitude: bmap[0] // 转换成百度的纬度
    //                     },
    //                     message: '获取定位成功'
    //                 })
    //             },
    //             fail: res => {
    //                 resolve({
    //                     code: 0,
    //                     data: res,
    //                     message: '获取定位失败'
    //                 })
    //             }
    //         })
    //     })
    // },


    // getDistance(start, end) {
    //     return new Promise(resolve => {
    //         if (!start && !end) {
    //             resolve({
    //                 code: 0
    //             })
    //         }
    //         let QQstart = this.bMapToQQMap(...start)
    //         let QQend = this.bMapToQQMap(...end)
    //         amap.getRidingRoute({
    //             origin: QQstart.join(","),
    //             destination: QQend.join(","),
    //             success: function(data) {
    //                 let distance = null;
    //                 let time = null
    //                     // 距离
    //                 if (data.paths[0] && data.paths[0].distance) {
    //                     distance = (data.paths[0].distance / 1000).toFixed(2)
    //                 }
    //                 // 时长
    //                 if (data.paths[0] && data.paths[0].duration) {
    //                     time = dayjs().add(data.paths[0].duration, 'second').format("HH:mm")
    //                 }
    //                 resolve({
    //                     code: 1,
    //                     distance,
    //                     time
    //                 })
    //             },
    //             fail: function(info) {
    //                 console.log(info)
    //                 tool.showToast('获取路径信息失败')
    //                 resolve({
    //                     code: 0,
    //                     message: info
    //                 })
    //             }
    //         })

    //     })
    // }

}

module.exports = tool